Côté Java
Le build Java
<project name="MyProject" default="dist" basedir=".">
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<target name="compile" description="compile the source" >
<javac srcdir="${src}" destdir="${build}"/>
</target>
<target name="dist" depends="compile" description="generate the dist" >
<mkdir dir="${dist}/lib"/>
<jar jarfile="${dist}/lib/MyProject.jar" basedir="${build}"/>
</target>
<target name="clean" description="clean up" >
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>
</project>my-app
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
`-- test
`-- java
`-- com
`-- mycompany
`-- app
`-- AppTest.java<project xmlns="http://maven.apache.org/POM/4.0.0" ... >
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencyManagement/>
<dependencies/>
<build>
<pluginManagement/>
<plugins/>
</build>
</project>Côté web
Un seul standard index.html
Plateforme basée sur V8 pour réaliser des applications javascript
module
{
"name": "express",
"description": "Fast, unopinionated, minimalist web framework",
"version": "4.10.0",
"license": "MIT",
"repository": "strongloop/express",
"homepage": "http://expressjs.com/",
"dependencies": {
},
"devDependencies": {
}
}>=1.2.7 <1.3.0
1.2.7 || >=1.2.9 <2.0.0
~1.2.3 := >=1.2.3 <1.(2+1).0 := >=1.2.3 <1.3.0
~1.2 := >=1.2.0 <1.(2+1).0 := >=1.2.0 <1.3.0
~1 := >=1.0.0 <(1+1).0.0 := >=1.0.0 <2.0.0
^1.2.3 := >=1.2.3 <2.0.0
^0.2.3 := >=0.2.3 <0.3.0
^0.0.3 := >=0.0.3 <0.0.4npm install (with no args in a package dir)
npm install <tarball file>
npm install <tarball url>
npm install <folder>
npm install [@<scope>/]<name> [--save|--save-dev]
npm install [@<scope>/]<name>@<tag>
npm install [@<scope>/]<name>@<version>
npm install [@<scope>/]<name>@<version range># https://github.com/twbs/bootstrap/blob/master/package.json
$ npm install bootstrap
# https://github.com/angular/angular/blob/master/package.json
$ npm install angularProblème : chaque module embarque ses dépendances
$ npm install grunt
$ ls -1 node_modules/grunt/node_modules
async
coffee-script
colors
dateformat
eventemitter2
exit
findup-sync
getobject
glob
grunt-legacy-log
grunt-legacy-util
hooker
iconv-lite
js-yaml
lodash
...Bower
$ npm install -g bower
$ bower install -h
Usage:
bower install [<options>]
bower install <endpoint> [<endpoint> ..] [<options>]
Options:
-F, --force-latest Force latest version on conflict
-h, --help Show this help message
-p, --production Do not install project devDependencies
-S, --save Save installed packages into dependencies
-D, --save-dev Save installed packages into devDependencies$ bower search angular$ bower info angularRegistered package name | jquery normalize css |
Git endpoint | https://github.com/user/package.git git@github.com:user/package.git |
Local folder | my/local/folder/ |
Public Subversion endpoint | svn+http://package.googlecode.com/svn/ |
Private Subversion endpoint | svn+ssh://package.googlecode.com/svn/ svn+https://package.googlecode.com/svn/ |
Shorthand (defaults to GitHub) | user/package |
URL |
Flat dependency tree
{
"name": "my-project",
"description": "bla bla bla !",
"version": "1.0.0",
"main": "path/to/main.css",
"license": "AML",
"ignore": [
".jshintrc",
"**/*.txt"
],
"keywords": [
"awesome",
"project"
],
"authors": [
"me",
"myself",
], "homepage": "http://project.org",
"repository": {
"type": "git",
"url": "git://github.com/foo/bar.git"
},
"dependencies": {
"<name>": "<version>",
"<name>": "<folder>",
"<name>": "<package>"
},
"devDependencies": {
"<test-framework-name>": "<version>"
},
"resolutions": {
"angular": "1.3.0-beta.16"
},
private: false
}Versionner ses dépendances ?
$ npm shrinkwrap
{
"name": "A",
"version": "0.1.0",
"dependencies": {
"B": {
"version": "0.0.1",
"dependencies": {
"C": {
"version": "0.1.0"
}
}
}
}
}Bower
$ npm install -g grunt-cli
$ npm install -g grunt-init
$ git clone https://github.com/gruntjs/grunt-init-gruntfile \
~/.grunt-init/gruntfile
$ grunt-init gruntfile
$ npm install$ npm install --save-dev grunt-wiredepgrunt.loadNpmTasks('grunt-wiredep');
wiredep: {
task: {
src: 'index.html'
}
}<!-- bower:js -->
<!-- endbower -->
<!-- bower:css -->
<!-- endbower -->$ npm install --save-dev grunt-contrib-connectgrunt.loadNpmTasks('grunt-contrib-connect');
connect: {
server: {
options: {
port: 9000,
hostname: 'localhost'
}
}
}$ ls >> .tmpfile
$ wc -l .tmpfile
12 .tmpfile
$ rm .tmpfile$ ls | wc -l
12
$Stream
reader.pipe(writer);Yeoman
$ npm install -g yo
...
$ npm install -g generator-jhipster
...
$ mkdir jhipster && cd jhipster
$ yo jhipster
...
$ npm install
$ bower install
$ mvn spring-boot:runQuestions ?